const EventEmitter = require('events');

class MyEventEmitter extends EventEmitter { // 创建一个自定义事件分发类
    constructor(props) {
        super(props);
    }
}

const myEventEmitter = new MyEventEmitter(); // 自定义分发类的实例

const listener1 = function(...props) { // 监听事件的函数
    console.log(props);
    console.log('listener1：haha 事件被触发了');
    new Error('666')
}
const listener2 = function(error) {
    console.log('listener2：error 事件被触发了:',error);
}
myEventEmitter.once('haha',listener1); // 创建自定义被监听事件，并指定监听函数
myEventEmitter.once('error',listener2);

console.log(myEventEmitter.emit('haha','a',1)); // 触发自定义被监听事件,第一个参数为事件名，后面的参数为传给 listener 监听函数的参数
myEventEmitter.emit('haha','a',1);
console.log(myEventEmitter.emit('haha','a',1));
myEventEmitter.emit('error',);

